package com.buba.service;
import com.baomidou.mybatisplus.extension.service.IService;
import entity.salary.Payrollmodel;
import entity.salary.dto.insertPayModelAndSalaryitemDto;
import entity.salary.vo.selAllPayrollModelVo;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author beisheng
 * @since 2023-03-14
 */
public interface PayrollmodelService extends IService<Payrollmodel> {

    /* *
     * @Author: beisheng
     * @Descriprion: 根据创建时间倒序查询工资单模板
     * @Date: 2023/3/22 10:18
     * @Return: common.R
     * @Param: []
     */

    List<selAllPayrollModelVo> selAllPayrollModel();

    /* *
     * @Author: beisheng
     * @Descriprion: 更改工资单状态
     * @Date: 2023/3/22 10:38
     * @Return: common.R
     * @Param: [payrollId]
     */

    void updatePayStatus(Integer payrollId);

    /* *
     * @Author: beisheng
     * @Descriprion: 逻辑删除工资单模板并逻辑删除工资单模板关联薪资项目
     * @Date: 2023/3/22 13:32
     * @Return: common.R
     * @Param: [payrollId]
     */

    void delPayModelAndSalaryItem(Integer payrollId);

    /* *
     * @Author: beisheng
     * @Descriprion: 添加工资单模板并添加工资单模板关联薪资项
     * @Date: 2023/3/22 18:40
     * @Return: common.R
     * @Param: [insertPayModelAndSalaryitemDto]
     */

    void insertPayModelAndSalaryitem(insertPayModelAndSalaryitemDto insertPayModelAndSalaryitemDto);

    /* *
     * @Author: beisheng
     * @Descriprion: 修改工资单模板或修改工资单模板关联薪资项
     * @Date: 2023/3/22 20:26
     * @Return: common.R
     * @Param: [salaryitemDto]
     */

    void updatePayModelAndSalaryitem(insertPayModelAndSalaryitemDto salaryitemDto);
    
}
